Input techniques for virtual reality headset devices with front touch screens

ABSTRACT

Systems and methods for detecting a user interaction by identifying a touch gesture on a touch interface on a virtual reality headset. The touch gestures are received on a front surface that is on the opposite side of the headset&#39;s inner display screen so that correspondence between the touch location and displayed content is intuitive to the user. The techniques of the invention display a cursor and enable the user to move the cursor by one type of input and make selections with the cursor using a second type of input. In this way, the user is able to intuitively control a displayed cursor by moving a finger around (e.g., dragging) on the opposite side of the display in the cursor&#39;s approximate location. The user then uses another type of touch input to make a selection at the cursor&#39;s current location.

TECHNICAL FIELD

One or more embodiments of the invention disclosed herein relategenerally to virtual reality devices and systems and methods forproviding input to a virtual reality device. More specifically, one ormore embodiments relate a touch interface on a touch surface of avirtual reality headset device for the purpose of providing input to thevirtual reality headset device.

BACKGROUND

Virtual reality headset devices allow users to view media in animmersive environment. For example, virtual reality headset devicesallow users to experience more complex and realistic environments bydisplaying two or three-dimensional content, or simulatedthree-dimensional content. To illustrate, many virtual reality headsetdevices are capable of displaying three-dimensional movies, video games,scenes, or simulations that allow users to interact with the virtualreality environment.

When interacting with a virtual reality environment, conventionalvirtual reality headset devices use a variety of different techniquesfor users to provide input to interact with a virtual realityenvironment. Specifically, some conventional virtual reality devicesallow users to provide input by way of one or more cameras capturing auser's hand gestures, such as pointing gestures, pinching gestures, orhand movements. Hand gestures, however, require the use of cameras andlarge amounts of computation, which can reduce battery life and increasethe costs associated with the virtual reality devices. Additionally,hand recognition is often not reliable, and hardware designed torecognize hand motions frequently fail to recognize or incorrectlyinterpret hand motions. Moreover, users often find the use of handgestures as complicated, especially when there is a lack of an intuitiveconnection between a desired input and a corresponding hand gesture.

Alternatively, some virtual reality headset devices allow users toprovide input to interact using touch gestures on small touch interfaceson the side of the headset. However, while using the side touch surface,users are unable to see their fingers, which are outside of the virtualreality headset device. Because users cannot see their fingers,conventional touch gestures and interpretation of gestures are lessintuitive, more cumbersome, and otherwise undesirable. For example, on atouch screen device on a mobile phone, the user is able to look at thescreen and their finger as the user taps on an icon on the screen toselect the icon. In contrast, with a virtual reality headset with theimage inside the headset and the finger outside the headset, the user inunable to see where the finger is in relation to the image. Moreover,the user is not tapping on the image itself so there is not intuitiveunderstanding of where the user taps corresponding to something on thedisplay. Existing touch techniques thus often do not work well forselecting displayed items and providing other types of user input on avirtual reality headset device. These and other disadvantages exist withrespect to virtual reality user input techniques.

SUMMARY

As described above, existing touch techniques often do not work well forselecting displayed items and providing other types of user input onvirtual reality headset devices. Embodiments of the invention disclosedherein address this and other problems by providing novel systems andmethods for detecting a user interaction by identifying a touch gestureon a touch interface on a virtual reality headset. The touch gesturesare received on a surface that is on the opposite side of the headset'sinner display screen so that correspondence between the touch positionand displayed content is intuitive to the user. The techniques of theinvention display a cursor and enable the user to move the cursor by onetype of input and make selections with the cursor using a second type ofinput. In this way, the user is able to intuitively control a displayedcursor by moving a finger around (e.g., dragging) on the opposite sideof the display in the cursor's approximate location. The user then usesanother type of input to make a selection at the cursor's currentlocation. The use front touch, a displayed cursor, and the differenttypes of input for movement and selection together provide easy,intuitive, and effective user interaction modalities.

One embodiment of the two-input type move/select technique is a onefinger drag-and-tap technique in which dragging a finger moves thecursor and tapping makes a selection. The dragging roughly correspondsto the opposite side of the cursor that moves with the dragging movementon the viewable display screen. Drags are distinguished from taps basedon touch duration and/or distance moved while touching. For example, atouch less than a threshold amount of time is considered a tap and atouch longer than the threshold amount of time is considered a drag.

Another embodiment of the two-input type move/select technique is a twofinger technique. Using this technique the user drags a first finger,corresponding to the cursor location on the opposite side of thedisplay, to move the cursor. A selection is made by tapping with asecond finger while the first finger is still on the screen.

Additional embodiments involve alternative input techniques orcombinations of techniques. For example, a user interface is configuredto interpret one finger drag-and-tap input, two finger inputs, inputs onthe side of touch devices, and/or voice input in various combinations.This flexibility allows a user to provide input via the input modalitythat best suits the user's preferences and/or the circumstances in whichthe user is using the virtual reality headset device.

Additional features and advantages of one or more embodiments of thepresent disclosure will be set forth in the description which follows,and in part will be apparent from the description, or may be learned bythe practice of such example embodiments. The features and advantages ofsuch embodiments may be realized and obtained by means of theinstruments and combinations particularly pointed out in the appendedclaims. These and other features will become more fully apparent fromthe following description and appended claims, or may be learned by thepractice of such example embodiments as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above recited and otheradvantages and features may be obtained, a more particular descriptionof embodiments systems and methods briefly described above will berendered by reference to specific embodiments thereof that areillustrated in the appended drawings. It should be noted that theFigures are not drawn to scale, and that elements of similar structureor function are generally represented by like reference numerals forillustrative purposes throughout the Figures. Understanding that thesedrawings depict only typical embodiments and are not therefore to beconsidered to be limiting of its scope, the systems and methods will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings in which:

FIG. 1 illustrates an example of a user using a virtual reality headsetdevice;

FIG. 2 illustrates an embodiment of a virtual reality headset device;

FIG. 3 illustrates another view of the virtual reality headset device ofFIG. 2;

FIG. 4 illustrates an example of a single finger drag and tap inputgesture;

FIG. 5 illustrates an example of a two finger input gesture;

FIG. 6 illustrates displayed content including selectable letteroptions;

FIG. 7 illustrates an embodiment of a virtual reality headset devicethat includes a housing frame for attaching a display device, aplurality of lenses, and a touch interface;

FIG. 8 illustrates components of an exemplary virtual reality headsetdevice;

FIG. 9 illustrates a flowchart of a series of acts in an exemplarymethod of responding to user interaction using a virtual reality headsetdevice;

FIG. 10 illustrates a flowchart of a series of acts in an exemplarymethod of responding to user interaction using a virtual reality headsetdevice; and

FIG. 11 illustrates a block diagram of an exemplary computing device inaccordance with one or more embodiments.

DETAILED DESCRIPTION

One or more embodiments of the present disclosure include a virtualreality headset device for providing a virtual reality environment to auser. The term “virtual reality environment” refers to any 2-dimensionalor 3-dimensional content that is displayed to the user on a displayscreen proximate the user's eyes that the user is able to view and/orinteract with. One or more embodiments of the virtual reality headsetdevice allow a user to easily and intuitively provide a user interactionto perform one or more actions within a virtual reality environment. Asused herein, the terms “user interaction” refer to a user providing atouch gesture to a touch interface. For example, touch gestures include,but are not limited to, one finger drag-and-tap gestures, two fingergestures, tap gestures, swipe gestures, pinch gestures, de-pinchgestures, single or multi-finger gestures, etc. As used herein, the term“touch interface” refers to a surface or region of the virtual realityheadset device by which a user can provide a user interaction to thedevice. For example, a touch interface can include a physical touchpador touch-sensitive surface on a portion of the virtual reality headsetdevice. The virtual reality headset device can also include a processorto detect and interpret user interaction at the touch interface for auser to interact with the virtual reality environment.

In one example, a device includes a display screen secured to a housingframe and facing a pair of lenses on a first side of the display screen.The exemplary device includes a touch interface on an outer surfacepositioned on a second side of the display screen, where the second sideis opposite the first side. Because the touch interface is opposite thedisplay screen, the device receives user interactions in a way that isnatural and intuitive to a user. To illustrate, as the device detectsuser interaction at the touch interface, the device generates a responseon the display screen that corresponds with a position of the userinteraction at the touch interface. In one or more embodiments, an areaof the touch interface is mapped to an area of the display screen basedon predetermined eye positions of a user.

In one or more embodiments, the device displays, moves, and makesselections using a cursor on the display screen. As used herein the term“cursor” refers to any type of graphical mark, highlight, or otherindication of any shape, size, color, transparency level or otherdisplay characteristic that identifies a location or area on a display.In one embodiment, as a user applies a user interaction to the touchinterface, the device detects the user interaction and displays a cursorin a location on the display device. In one example, the device displaysa cursor on a displayed selectable element. Because the position of theuser interaction on the touch interface corresponds to the location onthe display screen that the cursor is displayed or moved to, the user isable to easily select elements without guessing where the userinteraction will correspond on the display screen. The visual indicationcan also allow the user to easily locate the position of the userinteraction relative to the display screen.

The techniques of the invention display a cursor and enable the user tomove the cursor by one type of input and make selections with the cursorusing a second type of input. In this way, the user is able tointuitively control a displayed cursor by moving a finger around (e.g.,dragging) on the opposite side of the display in the cursor'sapproximate location. The user then uses another type of input to make aselection at the cursor's current location. In one embodiment, the userinteraction is a drag and tap interaction using a single finger. Inanother embodiment, the user interaction is a drag and tap in which auser drags with one finger and taps with a second finger while the firstfinger is still in contact with the touch screen.

FIG. 1 illustrates an example of a user 1 using a virtual realityheadset device 2. In this example, the user 1 wears the virtual realityheadset device 2 to view content displayed on a display on the inside infront of the user's eyes. The user uses one or more fingers, such asfinger 3, to provide user interactions on a touch surface on the frontof the virtual reality headset device 2 opposite the displayed contentso that correspondence between the touch position and displayed contentis intuitive to the user 1. The user is able to intuitively control adisplayed cursor by moving a finger 3 around (e.g., dragging) on theopposite side of the display in the cursor's approximate location. Theuser then uses the same or another finger to make a selection at thecursor's current location.

FIG. 2 illustrates another embodiment of a virtual reality headsetdevice 10 (or simply, “VR device”). In one or more embodiments, the VRdevice 10 includes a housing frame 12, a support element (e.g., a strap)14, and a touch interface 16. The VR device 10 also includes a displayscreen inside the housing frame 12, and a plurality of lenses (describedin more detail in FIG. 3). In additional, or alternative, embodiments,the VR device 10 includes additional components, features, orcapabilities. For example, the VR device 10 includes or allows otherinput devices, such as motion sensors, accelerometers, gyroscopes,cameras or handheld controllers.

As mentioned, the VR device 10 provides a virtual reality environment toa user. For instance, the VR device 10 displays a movie, panoramicscene, photographs or images, content browser (e.g., a photo or mediacontent album), and/or a two or three-dimensional environment to theuser via the display screen. In at least some instances, the VR device10 allows the user to interact with the virtual reality environment byway of one or more input devices. For example, the user can change theview within the environment or move within the environment by moving hisor her head or physically moving from one location to another (i.e.,changing the position of the user's head laterally or vertically).

The VR device 10 also includes a support element 14 to hold the VRdevice 10 in place as the user views the virtual reality environmentprovided by way of the display screen. Specifically, the support element14 can hold the VR device 10 in place so that the perspective ofdisplayed content provided to the user is consistent. In one example,the support element 14 is a flexible strap. Alternatively, the supportelement 14 can be an adjustable support element 14 that allows the userto adjust the fit of the VR device 10 for comfort and stability.

In one or more embodiments, the VR device 10 allows the user to interactwith the virtual reality environment and/or an operating system or othersoftware by which the VR device 10 displays content. Specifically, auser interacts with the VR device 10 using the touch interface 16. TheVR device 10 includes the touch interface 16 on a front, outer surfaceof the housing frame 12, as illustrated in FIG. 2. The touch interface16 allows the user to use touch gestures to perform a variety ofoperations.

As previously mentioned, the touch interface 16 includes a touchsensitive region on the front, outer surface of the housing frame 12that allows the VR device 10 to detect and interpret touch gestures fromthe user. For example, the touch interface 16 can communicate with aprocessor to detect and interpret a plurality of different touchgestures from a user. To illustrate, the user can perform a variety ofsingle-touch or multi-touch gestures on the touch interface 16 toperform different operations. In one or more embodiments, the touchgestures include, but are not limited to, tap gestures using one finger,tap gestures using a plurality of fingers, swipe motions, pinchgestures, finger spread gestures, touch-and-drag gestures,touch-and-hold gestures, one finger drag-and-tap gestures; andtwo-finger drag-and-tap gestures.

Because the touch interface 16 can support a variety of touch gestures,a user is able to provide user interactions with the VR device 10 toperform a wide range of operations. For example, based on userinteractions, a user selects, moves, edits, deletes or otherwisemodifies elements displayed on the display device. In addition, userinteractions are used to navigate through menus, to zoom in or zoom out,and otherwise change how content is displayed on the device.

Additionally, because the touch interface 16 is located on the frontsurface of the housing frame 12 of the VR device 10 opposite the displayscreen, the user can interact with the VR device 10 in a more intuitiveway than with conventional touch interfaces on conventional VR devices.Specifically, because the touch interface 16 is located on the frontsurface of the housing frame 12 (e.g., parallel and in-line with thedisplay screen), the user is more easily able to locate the userinteraction relative to content displayed on the display screen than ifthe touch interface 16 is located on another area of the housing frame12 that is not opposite the display screen.

In one or more embodiments, the VR device 10 generates a response on thedisplay screen in accordance with a position of a user interaction onthe touch interface 16. In some example embodiments, the VR device 10maps an area of the touch interface 16 to an area of the display screenbased on predetermined eye positions. In particular, the VR device 10determines a plurality of predetermined eye positions corresponding to aleft eye position and a right eye position. The VR device 10 uses thepredetermined eye positions to determine a location on the displayscreen that corresponds to the user interaction at a position on thetouch interface 16. In one example, the location on the display screenis determined based on the position of the user interaction at the touchinterface 16, and an adjustment is applied based on the predeterminedeye positions, such that the VR device 10 calculates the location on thedisplay screen based on the position of the user interaction at thetouch interface 16 relative to the predetermined eye positions.

In one or more embodiments, the VR device 10 uses predetermined eyepositions that are customized for a particular user to determine thelocation on the display screen that corresponds to the user interactionat a position of the touch interface 16. For example, the user oranother user (e.g., a device administrator) enters measurements for theuser into the VR device 10 to allow the VR device 10 to calibrate thedisplay screen and the touch interface 16 to the user. To illustrate,the VR device 10 calibrates a touch mapping between the area of thedisplay screen and the area of the touch interface 16 based onmeasurements related to the predetermined eye positions for the user.The measurements include a distance between the user's pupils, aposition of the user's pupils relative to each other or to other facialfeatures, or a position of the user's pupils relative to one or more VRdevice components (e.g., the lenses). By configuring the VR device 10based on a user's specific measurements, the VR device 10 customizes aconfiguration of the touch interface 16 and the display screen for agiven user.

In one or more embodiments, the user (or another user) provides themeasurements for the user to the VR device 10 by manually measuring andentering the measurements into a configuration interface of the VRdevice 10. In other embodiments the VR device 10 analyzes an image ofthe user to measure the user's facial features and determine themeasurements for configuring the display screen and the touch interface16. For example, the VR device 10 can capture or receive a photograph ofthe user and automatically determine the predetermined eye positions forthe user without requiring the user to manually enter the measurements.

In one or more alternative embodiments, the VR device 10 usespredetermined eye positions based on average eye positions from adatabase or other data source. Specifically, the database includesaverage measurements for a left eye position and a right eye positionbased on measurements from a plurality of people. The VR device 10 usesthe average measurements to configure the display screen and the touchinterface 16 for use by any user of the VR device 10. Thus, the VRdevice 10 provides a single configuration that works with a plurality ofusers and does not use a special configuration for the user.

In one or more additional embodiments, the VR device 10 includes aplurality of preset configurations for the display screen and touchinterface 16 so that the user is able to select the configuration thatworks best for the user. To illustrate, the user tests differentconfigurations for providing user interactions to the display screenrelative to the positions of the user interactions. Testing differentconfigurations allows the user to identify a configuration for easilydetermining the position of the user interaction at the touch interface16 relative to the corresponding location of the display screen.

In alternative embodiments, the corresponding location on the displayscreen is based solely on the position of the user interaction at thetouch interface 16. This is referred to as “absolute” positioning.Specifically, the touch interface 16 provides the user interaction tothe display screen based on a physical position of the user interactionat the touch interface 16 mapped to the display screen. For example, theVR device 10 identifies an (x, y) coordinate of the user interaction atthe touch interface 16 and provides the user interaction to the displayscreen at an (x1, y1) coordinate mapped to the (x, y) coordinate of thetouch interface 16. Thus, some embodiments of the VR device 10 mayprovide an indication of a user interaction on a location of the displayscreen independent of predetermined eye positions.

The touch interface 16 has a significant surface area. The position ofthe touch interface 16 at the front of the housing frame 12 can providea substantially larger area for a touch surface than other locations onthe housing frame 12 (e.g., on the side of the housing frame 12 where auser's temple is typically located). Thus, at least a portion of thefront surface of the housing frame 12 can include the touch interface 16to provide the user with a surface large enough to perform multi-touchgestures, as described above. In one example, the touch interface 16covers almost all of the front surface of the housing frame 12, asillustrated in FIG. 2. In other embodiments, the touch interface 16covers the entire front surface or only a small portion of the frontsurface of the housing frame 12. In one or more embodiments, the area ofthe touch interface 16 is larger or smaller than the area of the displayscreen.

In another embodiment, the touch interface 16 extends to other regionsof the housing frame 12. Specifically, the touch interface 16 is locatedon more than one surface of the housing frame 12. In one example, thetouch interface 16 extends from the front surface of the housing frame12 to one or more sides of the housing frame 12 (including a top sideand/or a bottom side of the housing frame 12). Extending the touchinterface 16 past the edges of the front surface allows the user toprovide user interactions in a greater number of locations on the VRdevice 10. Furthermore, a larger touch interface 16 that covers morethan one surface of the housing frame 12 can improve the accuracy withwhich the VR device 10 is able to detect the position of the userinteraction with respect to a location on the display screen.

The touch interface 16 can be any shape suitable to receiving userinteraction from a user. For example, the touch interface 16 can includean approximately rectangular shape. In another example, the touchinterface 16 can include a shape that fits to a front surface of thehousing frame 12. To illustrate, the housing frame 12 (and thus, thetouch interface 16) can include a front, outer surface that has one of avariety of shapes, including, but not limited to, a rectangle (asillustrated in FIG. 1) or other polygonal shape, an oval or circle, or acombination or plurality of various shapes.

In one or more embodiments, the touch interface 16 is the same shape andsize as the display screen. In one example, the touch interface 16 andthe display screen are both touchscreen devices (e.g., a smartphone),where a first touchscreen device is the display screen and a secondtouchscreen device is the touch interface 16. Alternatively, amanufacturer can manufacture the VR device 10 to include a touchinterface 16 that is the same size as the display screen. In one or morealternative embodiments, the touch interface 16 and the display screenare different sizes and/or shapes.

Additionally, at least some embodiments of the touch interface 16 caninclude one or more curved surfaces. In particular, the housing frame 12can include a surface that includes a curvature that maintainsapproximately the same curvature across the user's field of vision. Inone or more implementations, the display screen may not follow the samecurvature as the housing frame 12 due to the use of lenses to expand thefield of view from the user's perspective. In other embodiments, thedisplay screen also has the same curvature as the touch interface 16. Asthe user provides a user interaction at different angles relative to thepredetermined eye positions, the user interaction feels and also appearsto be at the same distance from the user's face based on the curvatureof the surface and touch interface 16. Accordingly, the curved touchsurface also provides a touch experience that extends to the full rangeof the user's vision, including at the periphery of the user's vision.

FIG. 3 illustrates an embodiment of the VR device 10 of FIG. 1.Specifically, FIG. 3 illustrates the housing frame 12 of the VR device10 with a plurality of lenses 18. The lenses 18 modify how content onthe display screen appears to the user. For example, the lenses 18 arepositioned to correspond to the predetermined eye positions of the user,such that the housing frame 12 includes a left lens corresponding to theleft predetermined eye position and a right lens corresponding to theright eye position.

The lenses 18 allow the VR device 10 to present an immersive virtualreality environment to the user that appears to extend to the peripheryof the user's vision. To illustrate, as the user views the displayscreen within the housing frame 12 through the lenses 18, the VR device10 uses algorithms to display content to the user in a way that makesthe content appear to extend to the user's peripheral vision.Additionally, as the user provides user interaction to the touchinterface 16, the VR device 10 also calculates the correspondinglocation on the display screen based on the presence and position of thelenses 18 within the housing frame 12. In one or more alternativeembodiments, the VR device 10 includes a larger display screen thatextends to the periphery of the user's vision without lenses 18. In suchembodiments, the VR device 10 provides the user interaction to thedisplay screen without having to account for the presence and positionof lenses 18.

The user can select a selectable element by providing a user interaction(e.g. by providing a tap gesture) to the touch interface at a positioncorresponding to the location of the selectable element on the displayscreen. For example, as the user provides user interaction to positionson the touch interface, the VR device 10 can provide a response to theuser interaction on the display screen so that it appears to the userthat the user is interacting with a particular location on the displayscreen. Thus, the VR device 10 can configure the touch interface and thedisplay screen so that the user can accurately predict the location ofthe user interaction without being able to see the touch interface.

In one or more embodiments, the VR device 10 provides an indication ofthe user interaction on the display screen. Specifically, as the usertouches the touch interface, the VR device 10 displays the userinteraction on the display screen to clearly indicate the location tothe user. For example, the VR device 10 can display a visual indicationof the user interaction, including, but not limited to, highlighting thelocation with a semi-transparent indicator (e.g., a circle), or usingany other cursor. Thus, the user can easily locate the location on thedisplay screen in accordance with the user interaction. In additional,or alternative, embodiments, the VR device 10 can provide tactilefeedback to the user on the touch interface, play sounds, or provideother indications of the user interaction.

FIG. 4 illustrates an example of a single finger drag and tap inputgesture. In this example, display device 40 includes selectable displayelements 41. In this example, the user touches a touch interface (notshown) with a finger on the opposite side of the display device 40. Inthis example, the user first touches the touch interface at a positioncorresponding approximately to location 42 on the display device 40. Inresponse to this touch, a cursor 44 is displayed identifying thelocation 42 for the user to see. In another embodiment, the cursor wasalready displayed prior to the touch at the location 42 or elsewhere onthe display device 40.

The user then drags the finger on the touch interface to a secondposition corresponding approximately to location 46 on the displaydevice 40. During this dragging movement, the user sees cursor 44 movefrom location 42 along path 48 to location 46. The user then lifts thefinger and taps back down on the touch interface. This touch can be, butneed not be at a position on the touch interface corresponding tolocation 46 on the touch display 40. This touch is determined to be atap. The tap is interpreted as a selection of whatever item the cursoris currently identifying.

In the drag and tap input gesture illustrated in FIG. 4, the user isable to interact with content displayed on display screen 40 withoutbeing able to see his or her fingers. The user's proprioception combinedwith the display of a cursor and different types of input for cursormovement and cursor selection provides a convenient and easy way to forthe user to interact with the user interface.

FIG. 5 illustrates an example of a two finger drag and tap inputgesture. In this example, display device 50 includes selectable displayelements 41. In this example, the user touches a touch interface (notshown) with a finger on the opposite side of the display device 50. Inthis example, the user first touches the touch interface at a positioncorresponding approximately to location 52 on the display device 50. Inresponse to this touch, a cursor 54 is displayed identifying thelocation 52 for the user to see. In another embodiment, the cursor wasalready displayed at the location 52 or elsewhere on the display device50.

The user then drags the finger on the touch interface to a secondposition corresponding approximately to location 56 on the displaydevice 50. During this dragging movement, the user sees cursor 54 movefrom location 52 along path 58 to location 56. Leaving the finger on thetouch surface at the position corresponding to location 56, the usertouches the touch interface briefly at a location corresponding tolocation 59 with a second finger. This touch is determined to be a tap.The tap is interpreted as a selection of whatever item the cursor iscurrently identifying at location 56.

In the two finger input gesture illustrated in FIG. 5, the user is ableto interact with content displayed on display screen 50 without beingable to see his or her fingers. The user's proprioception combined withthe display of a cursor and different types of input for cursor movementand cursor selection provides a convenient and easy to use interface forthe user. Moreover, the use of two different fingers for different inputtypes is natural to many users familiar with moving a mouse device tomove a cursor and using a finger to select something at a the cursorcurrent location.

The illustrative techniques for interpreting user interactionsillustrated in FIGS. 4 and 5, rely on proprioception rather than directvisual feedback because the user cannot see his or her fingers inrelation to displayed content. The gestures supported by thesetechniques are superior to a simple tap selection gesture without acursor and/or without dragging because the gestures supported by thetechniques combine the user's proprioception of using dragging andtapping gestures on an opposite side of a display device with visualfeedback showing a cursor reacting to those user interactions.

One embodiment further enhances the drag and tap and two touchtechniques by avoiding jumping of an already-displayed cursor at thebeginning of the user interaction. A user proprioception is not alwaysperfect and a user will often touch a position on a touch interface onthe opposite side of the device that does not exactly correspond towhere the cursor is actually displayed. This can result in the cursorjumping to a new position in a way that disorients the user. To addressthis, a relative matching technique is used. Unlike an absolute matchingtechnique in which each data pixel has exact matching between the touchinterface and the display screen, relative matching lets the user'sinitial touch (e.g., placing the finger down to start a drag) withcurrent cursor location and then making subsequent movement relative tothat position to location relationship. In another example, the error isidentified and cursor position is adjusted slowly over time so the userdoes not experience a jump but the cursor is returned to an appropriateposition over time.

FIG. 6 illustrates displayed content 60 including selectable letteroptions. The drag and tap, two finger, and other input techniques usedvia a touch screen opposite a display screen on a virtual realityheadset device are particularly useful with respect to user interactionswith displayed content that includes numerous selectable icons such asdisplayed content 60, which includes numerous selectable letter options.In one embodiment, the user interface interprets a sequence of drag,drag and tap, or two finger user interactions using predictivetechniques that identify intended words based on one or more letterselections.

The techniques disclosed herein facilitate fine, small scaleinteractions with content on virtual reality headset devices. Thus, ifthe complexity of the user interface increases (e.g. smaller, morepacked buttons, etc.) users can handle the tasks with dexterity. Thetechniques are useful for example in facilitating interaction withdisplayed letters of the alphabet. Users are able to keyboardinteractions with speed and confidence.

The VR device 10 also includes a configuration in which the userprovides the display screen and/or the touch interface. For example,FIG. 7 illustrates an embodiment of a VR device 70 that includes ahousing frame 72, a plurality of lenses 74 (e.g., a pair of lenses), anda touch interface 76, but does not include a display screen. The VRdevice 70 may include a connector by which the user can connect acomputing device with a display screen and a processor. For example, theuser can connect a smartphone to the connector within the housing frame72 such that the display screen of the smartphone is visible to the userthrough the lenses 74.

The VR device 70 includes a cover 78 that closes over the smartphoneafter installing the smartphone into the housing frame 72. Specifically,the cover can include the touch interface 76 that connects to thedisplay screen of the smartphone after the user connects the smartphoneto the housing frame 72 and closes the cover 78. For example, the cover780 can include a hinge 79 that contains wires or other electroniccomponents that allow the touch interface 76 to interact with thesmartphone. Alternatively, the cover 78 and housing frame 72 can includecompatible connectors that allow the user to snap the cover 78 onto thehousing frame 72 and over the smartphone and to allow the touchinterface 76 to interact with the smartphone.

FIG. 8 illustrates a virtual reality computing device 80 (“VR computingdevice”) that communicates with the touch interface and the displayscreen. The VR computing device 80 includes a user input manager 82, adisplay manager 84, and a data manager 86. Although the VR computingdevice 80 is depicted as having various components, the VR computingdevice 80 may have any number of additional or alternative components.For example, the VR computing device 80 can include a single processoror a plurality of processors in communication with the touch interfaceand the display screen.

In one or more embodiments, each of the components and subcomponents ofthe VR computing device 80 is in communication with one another using asuitable communication technology. It will be recognized that althoughthe subcomponents of the VR computing device 80 are shown to beseparate, any of the subcomponents may be combined into fewercomponents, such as into a single component, or divided into morecomponents as may serve a particular implementation. Furthermore,although the components of FIG. 8 are described in connection with theVR computing device 80, at least some of the components for performingoperations in conjunction with the VR computing device 80 describedherein may be implemented on other devices. For example, the VRcomputing device 80 can be a processor in a smartphone or other handhelddevice that a user inserts into the housing frame of the VR device forproviding a virtual reality environment to a user.

The components of the VR computing device 80 can include software,hardware, or both. For example, the components of the VR computingdevice 80 can include one or more instructions stored on acomputer-readable storage medium and executable by one or moreprocessors of the VR computing device 80. When executed by the one ormore processors, the computer-executable instructions can cause the VRcomputing device 80 to perform virtual reality and touch interfacingprocesses described herein. Alternatively, the components of the VRcomputing device 500 can include hardware, such as a special purposeprocessing device to perform a certain function or group of functions.Additionally or alternatively, the components of the VR computing device500 can include a combination of computer-executable instructions andhardware.

The exemplary VR computing device 80 includes a user input manager 82.Specifically, the user input manager 82 facilitates input by a user tointeract with the VR device. For example, the user input manager 82detects and interprets user interactions via a plurality of differentinput methods. To illustrate, the user input manager 82 manages userinteractions from touch interfaces, controllers, cameras,accelerometers, gyroscopes, or other input devices of the VR device.

In one or more embodiments, the user input manager 82 also processesdata associated with the position of the user interactions. For example,the user input manager 82 determines a position of each user interactionby the user on the touch interface. To illustrate, the user inputmanager 82 also determines the position of the user interaction at thetouch interface relative to the predetermined eye positions. Thus, theuser interface manager determines where the user is touching the touchinterface relative to the location of the user's eyes. In alternativeembodiments, the VR computing device 80 includes a separate componentfor determining the position of the touch interface relative to thepredetermined eye positions.

The user input manager 82 also determines the type of an input. In oneexample, the user input manager 82 determines whether an input has acursor movement types, such as a drag or reposition input, or aselection input type, such as a tap. The different input types areidentified based on applying criteria to the observable characteristicsof the user interaction. For example, if the user touch lasts more thana predetermined amount of time or moves a distance of more than apredetermined amount of distance on the touch surface, the user inputmanager 82 determines that the touch is a drag rather than a tap.

The exemplary VR computing device 80 also includes a display manager 84to facilitate display of content on the display screen of the VR device.In particular, the display manager 84 identifies the content to displayon the display screen and determines how to display the content on thedisplay screen. Additionally, the display manager 84 communicates withthe user input manager 82 to determine how the user input interacts withthe content on the display screen. For instance, for a particular userinteraction, the display manager 84 determines a location on the displaydevice that is consistent with the position of the user interaction atthe touch interface relative to the predetermined eye positions. Thus,the display manager 84 displays or otherwise provides user interaction(or inputs, as with multi-touch) to the display screen so that the usercan easily understand where the user interaction will be on the displayscreen based on the position of the user interaction at the touchinterface.

The exemplary VR computing device 80 also includes a data manager 86 tomanage data that the other components in the VR computing device 80 useand/or produce. For example, the data manager 86 facilitates managementof data associated with providing a virtual reality environment to theuser via the VR device. Specifically, the data manager 86 communicateswith the other components in the VR computing device 80 (i.e., the userinput manager 82 and the data manager 86) to obtain data that thecomponents have produced for storage and/or use by one or more of thecomponents.

In one or more embodiments, the data manager 86 stores data thatincludes, but is not limited to, the predetermined eye positions, userinput commands/actions, content for display on the display screens, userprofile information, operating system information, and applicationinformation. For example, the data manager 86 communicates with the userinput manager 82 to obtain user input data from the user input manager82 for providing to the display manager 84. Additionally, the datamanager 86 obtains the predetermined eye positions by way of manualentry or by automatic detection using the user input manager 82. Thedata manager 86 also stores user profile information for the user (orusers), including password/security information, preferences,predetermined eye positions, and/or other information about the userthat the VR device can use in providing the virtual reality environmentto the user. The data manager 86 also stores operating system andapplication information for providing a user interface to the user.

FIGS. 1-8, the corresponding text, and the examples, provide a number ofdifferent systems and devices for providing a virtual realityenvironment to a user of a VR device. In addition to the foregoing,embodiments can be described in terms of flowcharts comprising acts andsteps in a method for accomplishing a particular result. For example,FIGS. 9 and 10 illustrate flowcharts of exemplary methods in accordancewith embodiments of the invention.

FIG. 9 illustrates a flowchart of a method 90 of providing user inputusing a virtual reality headset device. The method 90 includes an act 92of receiving a user interaction on a touch interface positioned oppositea display screen. The display screen and touch interface can be flat,curved, or any other shape. The user interaction can involve touchesmade by one or more fingers, one or more stylus or pen style devices, orindirectly through gloves or other implements. The virtual realityheadset displays world-fixed content in one embodiment and displaysview-fixed content in another embodiment.

The method 90 includes an act 94 of determining that a position of theuser interaction on the touch interface corresponds to a location on thedisplay screen. This can involve mapping coordinates on the touchinterface to coordinates on the display screen. Alternatively, thecorrespondence can be based on identifying a location based on thetouch, a prior cursor position, and/or the user's eye focus. In oneembodiment, determining that the position of the user interaction on thetouch interface corresponds to the location on the display screeninvolves matching the position of the user interaction relative topredetermined eye positions. In another embodiment it involves using anabsolute mapping technique. In another embodiment it involves using arelative mapping technique.

The method 90 includes an act 96 of determining whether a type of theuser interaction is a cursor movement type or a selection type based ona characteristic of the user interaction. For example, a cursor movementtype includes repositioning a cursor from one position to another usinga drag movement. The type of interaction is determined using acharacteristic of the user interaction such as the number of fingers,the duration of the touch, the length of movement of the touch, a changein the number of fingers touching, or any other appropriatecharacteristic of the user interaction.

The method 90 includes an act 98 of generating a response on the displayscreen based on the location on the display screen and the type of theuser interaction. For example, if the type of the user interaction is acursor movement, the response includes moving the cursor from onelocation to another location on the display screen. In another examplein which the type of the user interaction is a selection type, thegenerated response is a selection of an element on the display screen atthe cursor's current location.

In one example, method 90 involves determining that the user interactionis dragging a finger along a path from the position on the touchinterface to a second position on the touch interface, moving a cursorfrom the location to a second location on the display screen based onthe path, determining that a next user interaction is a tap, andselecting an element displayed on the display screen at the secondlocation based on the tap. This one finger drag and tap input techniqueprovides an intuitive and easy way for a user to select an item on avirtual reality headset device without being able to see his or herfingers relative to the displayed elements.

In another example, method 90 involves determining that the userinteraction is dragging a finger on the touch interface, moving a cursoron the display screen based on the dragging, determining that anotheruser interaction with the touch interface is a tap made using anotherfinger while the finger is still detected on the touch screen, andselecting an element displayed on the display screen at a current cursorlocation based on the tap. This two finger cursor movement and selectiontechnique also provides an intuitive and easy way for a user to selectan item on a virtual reality headset device without being able to seehis or her fingers relative to the displayed elements.

Other types of input can additionally or alternatively be used. In oneexample, drag and tap, two finger, pinch to zoom, and swipe to scrollinput modalities are used together so that a user can use a modalitythat is best suited for the user's preferences or the circumstances ofuse. Similarly, one embodiment provides an interface that allows a userto customize the input modality to suit the user's preferences.

FIG. 10 illustrates a flowchart of a method 100 of providing user inputusing a virtual reality headset device. The method 100 includes an act102 of receiving a first user interaction on a touch interfacepositioned opposite a display screen of the virtual reality headsetdevice. The method 100 includes an act 104 of determining that the userinteraction is dragging a finger along a path from the position on thetouch interface to a second position on the touch interface. The methodfurther includes an act 106 of moving a cursor from a first location toa second location on the display screen based on the path. The method100 further includes act 108 of receiving a second user interaction onthe touch interface and act 110 of determining that the second userinteraction is a tap. An element displayed on the display screen at thesecond location is selected based on the tap in act 112. In oneembodiment, the second user interaction is determined to be a tap basedon the second user interaction occurring after the first userinteraction concludes and based on a length of time the second userinteraction occurs or on a distance of movement of the second userinteraction on the touch interface. In another embodiment, the seconduser interaction is determined to be a tap based on the second userinteraction occurring while the first user interaction is occurring.

Embodiments of the present disclosure may comprise or utilize a specialpurpose or general purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentdisclosure also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. In particular, one or more of the processes described hereinmay be implemented at least in part as instructions embodied in anon-transitory computer-readable medium and executable by one or morecomputing devices (e.g., any of the media content access devicesdescribed herein). In general, a processor (e.g., a microprocessor)receives instructions, from a non-transitory computer-readable medium,(e.g., a memory, etc.), and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein.

Computer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that stores computer-executable instructions arenon-transitory computer-readable storage media (devices).Computer-readable media that carry computer-executable instructions aretransmission media. Thus, by way of example, and not limitation,embodiments of the disclosure can comprise at least two distinctlydifferent kinds of computer-readable media: non-transitorycomputer-readable storage media (devices) and transmission media.

Non-transitory computer-readable storage media (devices) includes RAM,ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM),Flash memory, phase-change memory (“PCM”), other types of memory, otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to store desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media tonon-transitory computer-readable storage media (devices) (or viceversa). For example, computer-executable instructions or data structuresreceived over a network or data link can be buffered in RAM within anetwork interface module (e.g., a “NIC”), and then eventuallytransferred to computer system RAM and/or to less volatile computerstorage media (devices) at a computer system. Thus, it should beunderstood that non-transitory computer-readable storage media (devices)can be included in computer system components that also (or evenprimarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. In someembodiments, computer-executable instructions are executed on ageneral-purpose computer to turn the general-purpose computer into aspecial purpose computer implementing elements of the disclosure. Thecomputer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, or evensource code. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

FIG. 11 illustrates a block diagram of exemplary computing device 110that may be configured to perform one or more of the processes describedabove. One will appreciate that one or more computing devices such asthe computing device 110 may implement the VR device. As shown by FIG.11, the computing device 110 can comprise a processor 112, a memory 114,a storage device 116, an I/O interface 118, and a communicationinterface 120, which may be communicatively coupled by way of acommunication infrastructure 122. While an exemplary computing device110 is shown in FIG. 11, the components illustrated in FIG. 11 are notintended to be limiting. Additional or alternative components may beused in other embodiments. Furthermore, in certain embodiments, thecomputing device 110 can include fewer components than those shown inFIG. 11. Components of the computing device 110 shown in FIG. 7 will nowbe described in additional detail.

In one or more embodiments, the processor 112 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions, theprocessor 112 may retrieve (or fetch) the instructions from an internalregister, an internal cache, the memory 114, or the storage device 116and decode and execute them. In one or more embodiments, the processor112 may include one or more internal caches for data, instructions, oraddresses. As an example and not by way of limitation, the processor 112may include one or more instruction caches, one or more data caches, andone or more translation lookaside buffers (TLBs). Instructions in theinstruction caches may be copies of instructions in the memory 114 orthe storage 116.

The memory 114 may be used for storing data, metadata, and programs forexecution by the processor(s). The memory 114 may include one or more ofvolatile and non-volatile memories, such as Random Access Memory(“RAM”), Read Only Memory (“ROM”), a solid state disk (“SSD”), Flash,Phase Change Memory (“PCM”), or other types of data storage. The memory114 may be internal or distributed memory.

The storage device 116 includes storage for storing data orinstructions. As an example and not by way of limitation, storage device116 can comprise a non-transitory storage medium described above. Thestorage device 116 may include a hard disk drive (HDD), a floppy diskdrive, flash memory, an optical disc, a magneto-optical disc, magnetictape, or a Universal Serial Bus (USB) drive or a combination of two ormore of these. The storage device 116 may include removable ornon-removable (or fixed) media, where appropriate. The storage device116 may be internal or external to the computing device 110. In one ormore embodiments, the storage device 116 is non-volatile, solid-statememory. In other embodiments, the storage device 116 includes read-onlymemory (ROM). Where appropriate, this ROM may be mask programmed ROM,programmable ROM (PROM), erasable PROM (EPROM), electrically erasablePROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or acombination of two or more of these.

The I/O interface 118 allows a user to provide input to, receive outputfrom, and otherwise transfer data to and receive data from computingdevice 110. The I/O interface 118 may include a mouse, a keypad or akeyboard, a touch screen, a camera, an optical scanner, networkinterface, modem, other known I/O devices or a combination of such I/Ointerfaces. The I/O interface 118 may include one or more devices forpresenting output to a user, including, but not limited to, a graphicsengine, a display (e.g., a display screen), one or more output drivers(e.g., display drivers), one or more audio speakers, and one or moreaudio drivers. In certain embodiments, the I/O interface 118 isconfigured to provide graphical data to a display for presentation to auser. The graphical data may be representative of one or more graphicaluser interfaces and/or any other graphical content as may serve aparticular implementation.

The communication interface 120 can include hardware, software, or both.In any event, the communication interface 120 can provide one or moreinterfaces for communication (such as, for example, packet-basedcommunication) between the computing device 110 and one or more othercomputing devices or networks. As an example and not by way oflimitation, the communication interface 120 may include a networkinterface controller (NIC) or network adapter for communicating with anEthernet or other wire-based network or a wireless NIC (WNIC) orwireless adapter for communicating with a wireless network, such as aWI-FI.

Additionally or alternatively, the communication interface 120 mayfacilitate communications with an ad hoc network, a personal areanetwork (PAN), a local area network (LAN), a wide area network (WAN), ametropolitan area network (MAN), or one or more portions of the Internetor a combination of two or more of these. One or more portions of one ormore of these networks may be wired or wireless. As an example, thecommunication interface 710 may facilitate communications with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FInetwork, a WI-MAX network, a cellular telephone network (such as, forexample, a Global System for Mobile Communications (GSM) network), orother suitable wireless network or a combination thereof.

Additionally, the communication interface 120 may facilitatecommunications uainf various communication protocols. Examples ofcommunication protocols that may be used include, but are not limitedto, data transmission media, communications devices, TransmissionControl Protocol (“TCP”), Internet Protocol (“IP”), File TransferProtocol (“FTP”), Telnet, Hypertext Transfer Protocol (“HTTP”),Hypertext Transfer Protocol Secure (“HTTPS”), Session InitiationProtocol (“SIP”), Simple Object Access Protocol (“SOAP”), ExtensibleMark-up Language (“XML”) and variations thereof, Simple Mail TransferProtocol (“SMTP”), Real-Time Transport Protocol (“RTP”), User DatagramProtocol (“UDP”), Global System for Mobile Communications (“GSM”)technologies, Code Division Multiple Access (“CDMA”) technologies, TimeDivision Multiple Access (“TDMA”) technologies, Short Message Service(“SMS”), Multimedia Message Service (“MMS”), radio frequency (“RF”)signaling technologies, Long Term Evolution (“LTE”) technologies,wireless communication technologies, in-band and out-of-band signalingtechnologies, and other suitable communications networks andtechnologies.

The communication infrastructure 122 may include hardware, software, orboth that couples components of the computing device 110 to each other.As an example and not by way of limitation, the communicationinfrastructure 122 may include an Accelerated Graphics Port (AGP) orother graphics bus, an Enhanced Industry Standard Architecture (EISA)bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, anIndustry Standard Architecture (ISA) bus, an INFINIBAND interconnect, alow-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture(MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express(PCIe) bus, a serial advanced technology attachment (SATA) bus, a VideoElectronics Standards Association local (VLB) bus, or another suitablebus or a combination thereof.

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. For example, the methods described herein may beperformed with less or more steps/acts or the steps/acts may beperformed in differing orders. Additionally, the steps/acts describedherein may be repeated or performed in parallel with one another or inparallel with different instances of the same or similar steps/acts. Thescope of the present disclosure is, therefore, indicated by the appendedclaims rather than by the foregoing description. All changes that comewithin the meaning and range of equivalency of the claims are to beembraced within their scope.

What is claimed is:
 1. A method of responding to user input on a virtual reality headset device, the method comprising: receiving a user interaction on a touch interface positioned opposite a display screen of the virtual reality headset device; determining that a position of the user interaction on the touch interface corresponds to a location on the display screen; determining whether a type of the user interaction is a cursor movement type or a selection type based on a characteristic of the user interaction; and generating a response on the display screen based on the location on the display screen and the type of the user interaction.
 2. The method of claim 1, wherein the type of the user interaction is determined based on a length of time the user interaction occurs or on a distance of movement of the user interaction on the touch interface.
 3. The method of claim 1, further comprising: determining that the user interaction is dragging a finger along a path from the position on the touch interface to a second position on the touch interface; moving a cursor from the location to a second location on the display screen based on the path; determining that a next user interaction is a tap; selecting an element displayed on the display screen at the second location based on the tap.
 4. The method of claim 1, further comprising: determining that the user interaction is dragging a finger on the touch interface; moving a cursor on the display screen based on the dragging; determining that another user interaction with the touch interface is a tap made using another finger while the finger is still detected on the touch screen; and selecting an element displayed on the display screen at a current cursor location based on the tap.
 5. The method of claim 1, further comprising generating responses to pinch input to zoom and swipe input to scroll content on the display screen.
 6. The method of claim 1, further comprising generating drag and tap responses to alternative input modalities, the alternative types of modalities comprising one finger and two finger modalities.
 7. The method of claim 1, wherein the display screen displays world-fixed content.
 8. The method of claim 1, wherein the display screen displays view-fixed content.
 9. The method of claim 1, wherein determining that the position of the user interaction on the touch interface corresponds to the location on the display screen comprises matching the position of the user interaction relative to predetermined eye positions.
 10. The method of claim 1, wherein determining that the position of the user interaction on the touch interface corresponds to the location on the display screen comprises using an absolute mapping technique.
 11. The method of claim 1, wherein determining that the position of the user interaction on the touch interface corresponds to the location on the display screen comprises using a relative mapping technique.
 12. The method of claim 1, further comprising: displaying selectable letter icons on the display screen; determining a sequence of letters based on the user interaction dragging a path intersecting the plurality of letters; and predicting a word based on the sequence of letters.
 13. A virtual reality headset device, comprising: a display screen secured on a first side of the virtual reality headset device; a touch interface secured to the display screen on a second side of the virtual reality headset device, wherein the second side is opposite the first side; a processor; and a non-transitory computer-readable storage medium storing instructions thereon that, when executed by the processor, cause the virtual reality headset device to perform operations comprising: receiving a user interaction on the touch interface; determining that a position of the user interaction on the touch interface corresponds to a location on the display screen; determining whether a type of the user interaction is a cursor movement type or a selection type based on a characteristic of the user interaction; and generating a response on the display screen based on the location on the display screen and the type of the user interaction.
 15. The virtual reality headset device of claim 13, wherein the type of the user interaction is determined based on a length of time the user interaction occurs or a distance of movement of the user interaction on the touch interface.
 16. The virtual reality headset device of claim 13, wherein the operations further comprise: determining that the user interaction is dragging a finger along a path from the position on the touch interface to a second position on the touch interface; moving a cursor from the location to a second location on the display screen based on the path; determining that a next user interaction is a tap; and selecting an element displayed on the display screen at the second location based on the tap.
 17. The virtual reality headset device of claim 13, wherein the operations further comprise: determining that the user interaction is dragging a finger on the touch interface; moving a cursor on the display screen based on the dragging; determining that another user interaction with the touch interface is a tap made using another finger while the finger is still detected on the touch screen; and selecting an element displayed on the display screen at a current cursor location based on the tap.
 18. A method of responding to drag and tap user input on a virtual reality headset device, the method comprising: receiving a first user interaction on a touch interface positioned opposite a display screen of the virtual reality headset device; determining that the user interaction is dragging a finger along a path from the position on the touch interface to a second position on the touch interface; moving a cursor from a first location to a second location on the display screen based on the path; receiving a second user interaction on the touch interface; determining that the second user interaction is a tap; and selecting an element displayed on the display screen at the second location based on the tap.
 19. The method of claim 18, wherein the second user interaction is determined to be a tap based on the second user interaction occurring after the first user interaction concludes and based on a length of time the second user interaction occurs or on a distance of movement of the second user interaction on the touch interface.
 20. The method of claim 18, wherein the second user interaction is determined to be a tap based on the second user interaction occurring while the first user interaction is occurring. 